<?php
 //Include ("../../include/var_temp.inc") ;

 // ----------------------- SAISIE SANS EDT CLASSE ---------------------
 // Choix de la classe a relever
 $saisie = var_courante ("saisie", 0, Null) ;
 $titre = var_courante ("titre", 0, Null) ;
 $id_classe = var_courante ("id_classe", 0, 0) ;
 $dt = var_courante ("dt", 0, Date ("Y-m-d")) ;
 If (IsSet ($saisie))
  {
   // Variables : menu, saisie, dt, classe, nbr_el
   //         $i = 0 a $nbr_el-1
   //             eleve : el_$i
   //             repere1 : r1_$i
   //             repere2 : r2_$i
   //             repere3 : r3_$i
   //             nombre de tranches horaires : n_$i_0
   //          $j = 1 a n_$i_0
   //             Releve : rel_$j_0
   //             Id abs saisie : id_$i_$j
   //             valeur saisie : v_$i_$j
   //             tranche horaire : t_$i_$j 
   //             id releve existant : ar_$i_$j_0 (mise a jour si a 1)
   //
   If ($saisie == 1)
    {
     $req_ins_releves = "INSERT INTO abs_releves (id_abs_releve,prof,numen,discipline,code_disc,classe,code_classe,date,tranche,date_initiale,heure_initiale,saisie_initiale,date_modif,heure_modif,saisie_modif,cours_reporte) VALUES " ;
     $req_ins_saisies = "INSERT INTO abs_saisies (id_abs_saisie,prof,numen,discipline,code_disc,date,tranche,eleve,repere1,repere2,type,commentaires,arrivee,regularisation) VALUES " ;
     $ins_rel = 0 ;
     $ins_sai = 0 ;
     $tb_ins_rel [0][0] = 0 ;
     $tb_maj_rel [0] = 0 ;
     $nbr_el = var_courante ("nbr_el", 0, 0) ;
     $code_classe = var_courante ("code_classe", 0, "") ;
     For ($i = 0 ; $i < $nbr_el ; $i++)
      {
       $eleve = var_courante ("el_".$i, 0, 0) ;
       $rep1 = var_courante ("r1_".$i, 0, "") ;
       $rep2 = var_courante ("r2_".$i, 0, "") ;
       $rep3 = var_courante ("r3_".$i, 0, "") ;
       $nt = var_courante ("n_".$i."_0", 0, "") ;
       $ok_l = 0 ;
       For ($j = 1 ; $j <= $nt ; $j++)
        {
         $releve = var_courante ("rel_".$j."_0", 0, 0) ;
	 $id = var_courante ("id_".$i."_".$j, 0, 0) ;
         $v = var_courante ("v_".$i."_".$j, 0, 0) ;
	 $t = var_courante ("t_".$i."_".$j, 0, 0) ;
         $ar = var_courante ("ar_".$i."_".$j."_0", 0, 0) ;
         If ($releve == 1)
          {
           If ($v > 0)
            {
             // Si NON PRESENT
             If ($ar > 0)
              {
               // RELEVE EXISTANT : MISE A JOUR RELEVE ET MAJ SAISIE OU INSERTION SAISIE (SI N'EXISTE PAS)
               If ((integer)$tb_maj_rel [$ar] <> 1)
                {
                 // NON FAIT
                 $releve = SQL_commande ("SELECT * FROM abs_releves WHERE id_abs_releve='".$ar."' LIMIT 1", $id_sql) ;
                 $rlv = SQL_tableau_associatif ($releve, "") ;
                 $requete = "UPDATE abs_releves SET date_modif='".Date ("Y-m-d")."',heure_modif='".Date ("H:i:s")."',saisie_modif='".$id_util."' WHERE id_abs_releve='".$ar."' LIMIT 1" ;
                 //echo $requete."<BR>" ;
                 $ok_r = SQL_commande ($requete, $id_sql) ;
                }
               // Recherche saisie de toutes les tranches
	       /*
               $tranche = tranche_horaire_suivante ($t,$k) ;
               $resultats = SQL_commande ("SELECT id_abs_saisie FROM abs_saisies WHERE prof='".$p."' AND discipline='".$d."' AND date='".$dt."' AND tranche='".$tranche."' AND eleve='".$eleve."'", $id_sql) ;
               If (SQL_nbr_lignes ($resultats) > 0)
                {
                 // MISE A JOUR D'UNE SAISIE
                 $nbr = SQL_nbr_lignes ($resultats) ;
                 For ($mm = 0 ; $mm < $nbr ; $mm++)
                  {
                   $maj_saisie = SQL_ligne_suivante ($resultats) ;
                   $requete = "UPDATE abs_saisies SET type='".$v."' WHERE id_abs_saisie='".$maj_saisie [0]."' LIMIT 1" ;
                   //echo $requete."<BR>" ;
                   $ok_r = SQL_commande ($requete, $id_sql) ;
                  }
                }
	       */
	       If ($id > 0)
	        {
		 // MISE A JOUR D'UNE SAISIE
		 $requete = "UPDATE abs_saisies SET type='".$v."' WHERE id_abs_saisie='".$id."' LIMIT 1" ;
                 $ok_r = SQL_commande ($requete, $id_sql) ;
		}
               Else
                {
                 // INSERTION D'UNE SAISIE
                 $tranche = tranche_horaire_suivante ($t,$k) ;
                 If ($ins_sai == 1) { $req_ins_saisies .= "," ; }
                 $req_ins_saisies .= "('','".$p."','".$num."','".$d."','".$cd."','".$dt."','".$tranche."','".$eleve."','".$rep1."','".$rep2."','".$v."','','00:00:00','0')" ;
                 $ins_sai = 1 ;
                }
               $tb_maj_rel [$ar] = 1 ;
              }
             Else
              {
               // NOUVELLE INSERTION : RELEVE ET SAISIE
               $tranche = tranche_horaire_suivante ($t,$k) ;
               If ((integer)$tb_ins_rel [$p][$tranche] <> 1)
                {
                 // INSERTION D'UN NOUVEAU RELEVE
                 If ($ins_rel == 1) { $req_ins_releves .= "," ; }
                 $req_ins_releves .= "('','".$p."','".$num."','".$d."','".$cd."','".$id_classe."','".$code_classe."','".$dt."','".$tranche."','".Date ("Y-m-d")."','".Date ("H:i:s")."','".$id_util."','".Date ("Y-m-d")."','".Date ("H:i:s")."','".$id_util."','0')" ;
                 $ins_rel = 1 ;
                 $tb_ins_rel [$p][$tranche] = 1 ;
                }
               // INSERTION D'UNE NOUVELLE SAISIE
               If ($ins_sai == 1) { $req_ins_saisies .= "," ; }
               $req_ins_saisies .= "('','".$p."','".$num."','".$d."','".$cd."','".$dt."','".$tranche."','".$eleve."','".$rep1."','".$rep2."','".$v."','','00:00:00','0')" ;
               $ins_sai = 1 ;
              }
             $ok_l = 1 ;
            }
           Else
            {
             // SI PRESENT (Avec eventuellement un changement dans un releve existant) -> DESTRUCTION EVENTUELLE
	     $ar_old = var_courante ("ar_".$i."_".$j."_old", 0, 0) ;
             If ($ar_old > 0)
              {
               // RELEVE existant alors destruction des saisies
               // Recherche d'une saisie
	       /*
               $tranche = tranche_horaire_suivante ($t,$k) ;
               $resultats = SQL_commande ("SELECT id_abs_saisie FROM abs_saisies WHERE prof='".$p."' AND discipline='".$d."' AND date='".$dt."' AND tranche='".$tranche."' AND eleve='".$eleve."'", $id_sql) ;
               If (SQL_nbr_lignes ($resultats) > 0)
                {
                 // DESTRUCTIONS D'UNE SAISIE et donc d'une regularisation (si existe)
                 $nbr = SQL_nbr_lignes ($resultats) ;
                 For ($mm = 0 ; $mm < $nbr ; $mm++)
                  {
                   $maj_saisie = SQL_ligne_suivante ($resultats) ;
                   $requete = "DELETE FROM abs_saisies WHERE id_abs_saisie='".$maj_saisie [0]."' LIMIT 1" ;
                   //echo $requete."<BR>" ;
                   $ok_r = SQL_commande ($requete, $id_sql) ;
                   $requete = "DELETE FROM abs_regularisations WHERE id_abs_saisie='".$maj_saisie [0]."' LIMIT 1" ;
                   //echo $requete."<BR>" ;
                   $ok_r = SQL_commande ($requete, $id_sql) ;
                  }
                }
	       */  
	       If ($id > 0)
	        {
	         // DESTRUCTIONS D'UNE SAISIE et donc d'une regularisation (si existe)
	         $requete = "DELETE FROM abs_saisies WHERE id_abs_saisie='".$id."' LIMIT 1" ;
                 $ok_r = SQL_commande ($requete, $id_sql) ;
	         $requete = "DELETE FROM abs_regularisations WHERE id_abs_saisie='".$id."' LIMIT 1" ;
                 $ok_r = SQL_commande ($requete, $id_sql) ;
	        }
              }
             Else
              {
               // PAS DE RELEVE : CREATION
               $tranche = tranche_horaire_suivante ($t,$k) ;
               If ((integer)$tb_ins_rel [$p][$tranche] <> 1)
                {
                 // INSERTION D'UN NOUVEAU RELEVE
                 If ($ins_rel == 1) { $req_ins_releves .= "," ; }
                 $req_ins_releves .= "('','".$p."','".$num."','".$d."','".$cd."','".$id_classe."','".$code_classe."','".$dt."','".$tranche."','".Date ("Y-m-d")."','".Date ("H:i:s")."','".$id_util."','".Date ("Y-m-d")."','".Date ("H:i:s")."','".$id_util."','0')" ;
                 $ins_rel = 1 ;
                 $tb_ins_rel [$p][$tranche] = 1 ;
                }
              }
            }
          }
         Else
          {
           // Pas de releve : Si existe alors destruction si ce n'est pas un prof.
           $ar = var_courante ("ar_".$i."_".$j."_old", 0, 0) ;
           If ($ar > 0)
            {
             // Releve existant : Est-ce un prof ?
             $resultats = SQL_commande ("SELECT u.droits FROM abs_releves r,utilisateurs u WHERE r.id_abs_releve='".$ar."' AND r.saisie_initiale=u.id_utilisateur LIMIT 1", $id_sql) ;
             If (SQL_nbr_lignes ($resultats) > 0)
              {
               // Existe donc on regarde si c'est un prof
               $result = SQL_ligne_suivante ($resultats) ;
               If ((integer)$result [0] == $droit_prof)
                {
                 // Oui !
                }
               Else
                {
                 // Non c'est pas un prof : on efface !
                 //echo "DELETE FROM abs_releves WHERE id_abs_releve='".$ar."' LIMIT 1<BR>" ;
                 $efface = SQL_commande ("DELETE FROM abs_releves WHERE id_abs_releve='".$ar."' LIMIT 1", $id_sql) ;
                }
              }
            }
	   If ($id > 0)
	    {
	     // DESTRUCTIONS D'UNE SAISIE et donc d'une regularisation (si existe)
	     $requete = "DELETE FROM abs_saisies WHERE id_abs_saisie='".$id."' LIMIT 1" ;
	     //echo $requete."<BR>" ;
             $ok_r = SQL_commande ($requete, $id_sql) ;
	     $requete = "DELETE FROM abs_regularisations WHERE id_abs_saisie='".$id."' LIMIT 1" ;
             //echo $requete."<BR>" ;
             $ok_r = SQL_commande ($requete, $id_sql) ;
	    }
          }
        }
      }
     // Lance les requetes d'insertion
     If ($ins_rel == 1) { $ok_r = SQL_commande ($req_ins_releves, $id_sql) ; }
     // Lance les requetes de saisie
     If ($ins_sai == 1) { $ok_r = SQL_commande ($req_ins_saisies, $id_sql) ; }
    }
   $message = 1 ;
   If (IsSet ($requete_form))
    {
     If ($requete_form != "VaLiDeR")
      {
       If ($requete_form == "SuItE3") { $suite = 1 ; } ElseIf ($requete_form == "SuItE1") { $suite = 0 ; }
       $choix_date = 2 ;
      }
    }
  }
 $tfen_x = var_courante ("tx", 0, Null) ;
 $tfen_y = var_courante ("ty", 0, Null) ;
 $coupe_releve = var_courante ("coupe_releve", 0, 1) ;
 If (!IsSet ($tfen_x) And !IsSet ($tfen_y))
  {
   $menu = var_courante ("menu", 0, 0) ;
   $item = var_courante ("item", 0, 0) ;  
   $id_eleve = var_courante ("id_eleve", 0, 0) ;
   
   $choix_date = var_courante ("choix_date", 0, 0) ;
   $num_jour = var_courante ("num_jour", 0, Date ("d")) ;
   $num_mois_annee = var_courante ("num_mois_annee", 0, Date ("m-Y")) ;
   Echo "<html><body>" ;
   Echo "<form action=\"".$_SERVER ["PHP_SELF"]."\" name=\"f\" method=\"post\">" ;
   Echo "<input type=\"hidden\" name=\"tx\" value=\"\">" ;
   Echo "<input type=\"hidden\" name=\"ty\" value=\"\">" ;
   Echo "<input type=\"hidden\" name=\"menu\" value=\"".$menu."\">" ;
   Echo "<input type=\"hidden\" name=\"item\" value=\"".$item."\">" ;
   Echo "<input type=\"hidden\" name=\"id_classe\" value=\"".$id_classe."\">" ;
   Echo "<input type=\"hidden\" name=\"id_eleve\" value=\"".$id_eleve."\">" ;
   Echo "<input type=\"hidden\" name=\"dt\" value=\"".$dt."\">" ;
   Echo "<input type=\"hidden\" name=\"choix_date\" value=\"".$choix_date."\">" ;
   Echo "<input type=\"hidden\" name=\"num_jour\" value=\"".$num_jour."\">" ;
   Echo "<input type=\"hidden\" name=\"num_mois_annee\" value=\"".$num_mois_annee."\">" ;
   Echo "<input type=\"hidden\" name=\"coupe_releve\" value=\"".$coupe_releve."\">" ;
   Echo "</form>" ;
   Echo "<script type=\"text/javascript\">" ;
   Echo "document.f.tx.value=document.body.clientWidth;" ;
   Echo "document.f.ty.value=document.body.clientHeight;" ;
   Echo "document.f.submit();" ;
   Echo "</script>" ;
   Echo "</body></html>" ;
   Exit ;
  }
 // Recuperation taille ecran
 $tfen_x = var_courante ("tx", 0, 800) ;
 $tfen_y = var_courante ("ty", 0, 600) ;
 // ===============================================================================================================================
 // Debut de saisie
 Include ("../include/absences.cfg") ;
 Echo "<html><head>" ;
 entete_html ("Garennes", "", 1) ;
 Echo styles ("none", "none", "none", $l ["lien"], "none") ;
 Echo "<style type=\"text/css\">" ;
 Echo "div#controles{background-image:url(../images/fond.png);width:".($tfen_x-$largeur_cellule)."px;height:130px;}" ;
 Echo "div#message{z-index:1;left:30%;background-image:url(../images/fond.png);}" ;
 Echo "div#saisie{overflow:auto;width:".($tfen_x-$largeur_cellule)."px;height:".($tfen_y-130-30-$hauteur_cellule)."px;}" ;
 Echo "div#valider{background-image:url(../images/fond.png);}" ;
 Echo "nom_eleves{color:#FF0000;font-size:7pt;}" ;
 Echo "</style>" ;
 Include ("./abs_fenetre.js") ;
 Echo "</head>" ;

 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' ORDER BY ordre LIMIT 1", $id_sql) ;
 $ligne = SQL_tableau_associatif ($resultats, "") ;

 Echo "<body background=\"../images/fond.png\" text=\"".$ligne ["couleur_texte"]."\">" ;
 // Patience
 Echo faire_patienter ("<font color='#000000' face='Verdana' size='4'><b>Veuillez patienter, la page est en cours de chargement...</b></font>", "#000000", $l ["couleur_fond"]) ;
 
 Echo "<script type=\"text/javascript\">top.travail.travail_menu.document.eleve.nom_eleve.value='';</script>" ;
 Echo "<div id=\"reponse\" style=\"position:fixed;left:".$position_calque."px;top:0px;z-index:1;\"></div>" ;
 
 // -- Recherche les types de saisie
 $saisie = SQL_commande ("SELECT * FROM abs_types_saisie WHERE droits>='".$droit_prof."' ORDER BY heure,nom_g,nom_f", $id_sql) ;
 $sas [0][0] = SQL_nbr_Lignes ($saisie) ;
 $nbr = SQL_nbr_Lignes ($saisie) ;
 For ($i = 1 ; $i <= $nbr ; $i++)
  {
   $sais = SQL_tableau_associatif ($saisie, "") ;
   $sas [$i][0] = $sais ["type" ] ;
   $sas [$i][1] = $sais ["image_1_f" ] ;
   $sas [$i][2] = $sais ["image_2_f" ] ;
   $sas [$i][3] = $sais ["image_1_g" ] ;
   $sas [$i][4] = $sais ["image_2_g" ] ;
   $sas [$i][5] = $sais ["image_1" ] ;
   $sas [$i][6] = $sais ["image_2" ] ;
  }

 // Recherche des eleves
 $eleves = SQL_commande ("SELECT * FROM eleves WHERE classe='".$id_classe."' ORDER BY nom,prenoms", $id_sql) ;
 $nbr_eleves = SQL_nbr_lignes ($eleves) ;
 If ($nbr_eleves > 0)
  {
   // Saisie releves
   $choix_date = var_courante ("choix_date", 0, 0) ;
   Switch ($choix_date)
    {
      Case 1 : $num_jour = var_courante ("num_jour", 0, Date ("d")) ;
               $num_mois_annee = var_courante ("num_mois_annee", 0, Date ("m-Y")) ;
               $mois_annee = Explode ("-", $num_mois_annee) ;
               $dt = $mois_annee [1]."-".$mois_annee [0]."-".$num_jour ;
               Break ;
      Case 2 : $dt = var_courante ("dt", 0, Date ("Y-m-d")) ;
               Break ;
     Default : If ($coupe_releve == 1)
                {
                 If (!IsSet ($suite))
                  {
                   If (Date ("H:i:s") < $heure_decalage)
                    {
                     $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_matin/2),Date("Y"))), 0) ;
                     If ($dt == "0") { $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_matin/2),Date("Y"))), -1) ; }
                     If (($decalage_matin > 0) And ($decalage_matin%2 == 1)) { $suite = 1 ; } Else { $suite = 0 ; }
                    }
                   Else
                    {
                     $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_am/2),Date("Y"))), 0) ;
                     If ($dt == "0") { $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_matin/2),Date("Y"))), -1) ; }
                     If (($decalage_am > 0) And ($decalage_am%2 == 1)) { $suite = 0 ; } Else { $suite = 1 ; }
                    }
                  }
                 Else
                  {
                   $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d"),Date("Y"))), 0) ;
                   If ($dt == "0") { $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_matin/2),Date("Y"))), -1) ; }
                  }
                }
               Else
                {
                 $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d"),Date("Y"))), 0) ;
                 If ($dt == "0") { $dt = premier_jour_ouvrable (Date ("Y-m-d", MkTime(0,0,0,Date ("m"),Date("d")-Floor ($decalage_matin/2),Date("Y"))), -1) ; }
                }
               Break ;
    }
   $heure = Date ("h:i:s") ;
   $jour = Date ("w", MkTime (0,0,0,(integer)SubStr ($dt, 5, 2),(integer)SubStr ($dt, 8, 2),(integer)SubStr ($dt, 0, 4))) ;

   $ns = numero_semaine ($dt) ; If ($ns < 10) { $ns = "0".$ns ; }
   
   // Recherche des tranches horaires
   $requete = "SELECT * FROM abs_horaires" ;
   If ($coupe_releve == 1)
    {
     If (IsSet ($suite) And ($suite == 1)) { $requete .= " WHERE fin>'".$heure_decalage."'" ; $st = 0 ; }
     Else { $requete .= " WHERE fin<='".$heure_decalage."'" ; $st = 1 ;}
    }
   Else { $st = -1 ; }
   $requete .= " ORDER BY debut" ;
   $th = SQL_commande ($requete, $id_sql) ;
   $tranche_horaire [0][0] = SQL_nbr_lignes ($th) ;
   For ($i = 1 ; $i <= $tranche_horaire [0][0] ; $i++)
    {
     $t = SQL_tableau_associatif ($th, "") ;
     $tranche_horaire [$i][0] = $t ["id_abs_horaire"] ;
     $tranche_horaire [$i][1] = 0 ; // id prof (=0 aucun)
     $tranche_horaire [$i][2] = "" ; // numen prof
     $tranche_horaire [$i][3] = 0 ; // id discipline (=0 aucun)
     $tranche_horaire [$i][4] = "" ; // code discipline
     $tranche_horaire [$i][5] = 1 ; // nombre de tranche
     $tranche_horaire [$i][6] = 0 ; // numero de groupe (=0 aucun)
     $tranche_horaire [$i][7] = id_releve_edt_classe ($id_classe,$dt,$tranche_horaire [$i][0]) ; // releve effectue ou pas
    }
   
   // Est-ce ouvrable ?
   $ouv = SQL_commande ("SELECT ouvrable FROM abs_calendrier WHERE date='".$dt."' LIMIT 1", $id_sql) ;
   If (SQL_nbr_lignes ($ouv) == 1) { $o = SQL_ligne_suivante ($ouv) ; } Else { $o [0] = 1 ; }
   If ($o [0] == 1)
    {
     // Jour ouvrable
     // Lecture des constantes
     $gstn = SQL_commande ("SELECT * FROM abs_gestion LIMIT 1",$id_sql) ;
     $gestion = SQL_tableau_associatif ($gstn, "") ;
     $duree_s = (integer)$gestion ["duree_sequence"] ;
     // Recherche les saisies possibles
     $saisies = SQL_commande ("SELECT * FROM abs_types_saisie WHERE droits>='".$droit_prof."' ORDER BY nom_g,nom_f", $id_sql) ;
     $s [0][0] = SQL_nbr_lignes ($saisies) ;
     For ($i = 1 ; $i <= $s [0][0] ; $i++)
      {
       $ligne = SQL_tableau_associatif ($saisies, "") ;
       $s [$i][0] = $ligne ["type"] ;
       $s [$i][1] = $ligne ["nom_f"] ;
       $s [$i][2] = $ligne ["nom_g"] ;
       $s [$i][3] = $ligne ["heure"] ;
       $s [$i][4] = $ligne ["couleur_fond"] ;
       $s [$i][5] = $ligne ["couleur_texte"] ;
       $s [$i][6] = $ligne ["image_1_f"] ;
       $s [$i][7] = $ligne ["image_2_f"] ;
       $s [$i][8] = $ligne ["image_1_g"] ;
       $s [$i][9] = $ligne ["image_2_g"] ;
      }

     // ---- Recherche horaires, correspondances et creation du tableau des heures et des releves
     $requete = "SELECT * FROM abs_horaires" ;
     If ($coupe_releve == 1)
      {
       If (IsSet ($suite) And ($suite == 1)) { $requete .= " WHERE fin>'".$heure_decalage."'" ; $st = 0 ; }
       Else { $requete .= " WHERE fin<='".$heure_decalage."'" ; $st = 1 ;}
      }
     Else { $st = - 1 ; }
     $requete .= " ORDER BY debut" ;
     $h = SQL_commande ($requete, $id_sql) ;
     $heures [0] = SQL_nbr_lignes ($h) ;
     $rf = HexDec (SubStr ($l ["lien"], 1, 2)) ;
     $bf = HexDec (SubStr ($l ["lien"], 3, 2)) ;
     $vf = HexDec (SubStr ($l ["lien"], 5, 2)) ;
     $hs = "" ;
     For ($i = 1 ; $i <= $heures [0] ; $i++)
      {
       $hr = SQL_tableau_associatif ($h, "") ;
       $heures [(integer)$hr ["id_abs_horaire"]] = $i ;
       $heures_debut [$i] = SubStr ($hr ["debut"], 0, 5) ;
       $heures_fin [$i] = SubStr ($hr ["fin"], 0, 5) ;
       $hs .= "<td align=\"center\" width=\"".$largeur_cellule."\"><font size=\"-1\">" ;
       $hs .= "<img src=\"../images/absences/heure.php?texte=".Str_Replace (":", "H", $heures_debut [$i])."&rf=".$rf."&bf=".$bf."&vf=".$vf."&rt=0&vt=0&vt=0\" border=\"0\"></font></td>" ;
      }
     $taille_horaires = $largeur_cellule*$heures [0] ;

     // ---- Recherche des releves
     // Vert -> Fait
     // Rouge -> A faire
     $requete = "SELECT r.id_abs_releve,h.debut,h.fin FROM abs_horaires h,abs_releves r WHERE r.tranche=h.id_abs_horaire AND r.classe='".$id_classe."' AND r.date='".$dt."' " ;
     If ($coupe_releve == 1)
      {
       $requete .= "AND h.fin" ;
       If (IsSet ($suite) And ($suite == 1)) { $requete .= ">" ; } Else { $requete .= "<=" ; }
       $requete.= "'".$heure_decalage."' " ;
      }
     $requete .= "ORDER BY h.debut" ;
     $releves = SQL_commande ($requete, $id_sql) ;
     $relv = SQL_tableau_associatif ($releves, "") ;
     $rl = "" ;
     For ($i = 1 ; $i <= $heures [0] ; $i++)
      {
       $rl .= "<td height=\"".$hauteur_releves."\">" ;
       If (SubStr ($relv ["debut"],0,5) == $heures_debut [$i])
        {
         // releve fait
         $id_releve = $relv ["id_abs_releve"] ;
         $fait = 1 ;
         $image_releve = $gestion ["releve_ok"] ;
         $relv = SQL_tableau_associatif ($releves, "") ;
        }
       Else
        {
         // releve non fait
         $id_releve = $fait = 0 ;
         $image_releve = $gestion ["releve_non_ok"] ;
        }
       $rl .= "<input type=\"hidden\" name=\"rel_".$i."_a\" value=\"".$id_releve."\">" ; // Id releve
       $rl .= "<input type=\"hidden\" name=\"rel_".$i."_0\" id=\"r_".$i."_0\" value=\"".$fait."\">" ; // Fait
       $rl .= "<input type=\"hidden\" name=\"rel_".$i."_c\" id=\"r_".$i."_c\" value=\"0\">" ; // Clique
       $rl .= "<a onClick=\"javascript:change_releve(".$i.",1);\" style=\"cursor:crosshair\">" ;
       $rl .= "<img id=\"r_".$i."_1\" src=\"".$image_releve."\" width=\"".$largeur_cellule."\" height=\"".$hauteur_releves."\" border=\"0\"></a></td>" ;
      }

     // ---- Calcul le nombre d'elements d'un formulaire et le nombre d'images
     $nombre_elements = 3*$heures [0] ;
     $nombre_images = $sas [0][0]+2*$heures [0]-$coupe_releve ;

     // ---- Mise en page : Entetes
     $ccl = SQL_commande ("SELECT nom_bref FROM classes WHERE id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
     $cdcl = SQL_ligne_suivante ($ccl) ;
     $taille_cellule_eleve = Round (($tfen_x-$taille_horaires)/2) ;
     If ($taille_cellule_eleve < 100) { $taille_cellule_eleve = "10%" ; }
     $aff1  = "<form action=\"".$_SERVER ["PHP_SELF"]."\" name=\"saisie\" method=\"post\">" ;
     $aff1 .= "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border:1px solid #000000;border-collapse:collapse\">" ;
     $aff1 .= "<tr bgcolor=\"".$l ["lien"]."\">" ;
     $aff1 .= "<td rowspan=\"2\" valign=\"bottom\" width=\"".$taille_cellule_eleve."\">&nbsp;&Eacute;l&egrave;ves&nbsp;" ;
     If ($coupe_releve == 1)
      {
       $aff1 .= "<input type=\"hidden\" name=\"suite\" value=\"".$suite."\">" ;
       If ($st == 1)
        {
         $aff1 .= "<input type=\"image\" src=\"../images/absences/jour_3.png\" name=\"image_suite_3\" title=\"Saisie de l'apr&egrave;-midi...\">" ;
         $aff1 .= "<input type=\"hidden\" name=\"requete_form\" value=\"SuItE3\">" ;
         $nombre_images++ ;
        }
       Else
        {
         $aff1 .= "<input type=\"image\" src=\"../images/absences/jour_1.png\" name=\"image_suite_1\" title=\"Saisie du matin...\">" ;
         $aff1 .= "<input type=\"hidden\" name=\"requete_form\" value=\"SuItE1\">" ;
         $nombre_images++ ;
        }
       $aff1 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=0&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\">" ;
       $aff1 .= "<img src=\"../images/absences/jour_4.png\" title=\"Saisie &agrave; la journ&eacute;e...\" border=\"0\"></a>" ;
       $nombre_images++ ;
       $nombre_elements++ ;
      }
     Else
      {
       $aff1 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=2&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\">" ;
       $aff1 .= "<img src=\"../images/absences/jour_5.png\" title=\"D&eacute;coupe la saisie en Matin/Midi/Apr&egrave;-midi...\" border=\"0\"></a>" ;
       $aff1 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=1&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\">" ;
       $aff1 .= "<img src=\"../images/absences/jour_6.png\" title=\"D&eacute;coupe la saisie en Matin/Apr&egrave;-midi...\" border=\"0\"></a>" ;
       $nombre_images += 2 ;
      }
     $nombre_images++ ;
     // Ajout des heures et eleves
     $aff1 .= "</td>".$hs ;
     // Ajout de la ligne releves
     $aff1 .= "<tr rowspan=\"2\" bgcolor=\"".$l ["lien"]."\">".$rl."</tr>" ;
     $aff1 .= "</table>" ;

     // Parcours les eleves
     $aff2 .= "<input type=\"hidden\" name=\"tx\" value=\"".$tfen_x."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"ty\" value=\"".$tfen_y."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"titre\" value=\"1\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"menu\" value=\"".$menu."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"saisie\" value=\"1\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"dt\" value=\"".$dt."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"id_classe\" value=\"".$id_classe."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"code_classe\" value=\"".$cdcl [0]."\">" ;
     $aff2 .= "<input type=\"hidden\" name=\"nbr_el\" value=\"".$nbr_eleves."\">" ;
     $nombre_elements += 9 ;
     $aff2 .= "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border:1px solid #000000;border-collapse:collapse\">" ;
     For ($i = 0 ; $i < $nbr_eleves ; $i++)
      {
       $aff2 .= "<tr bgcolor=\"" ; If ($i%2) { $aff2 .= $l ["nom"] ; } Else { $aff2 .= "#ffffff" ; }
       $aff2 .= "\">" ;
       
       // ---- Cellule eleve
       $el = SQL_tableau_associatif ($eleves, "") ;
       $prenom = prenom_eleve ($el ["prenoms"]) ;
       $aff2 .= "<td height=\"".$hauteur_cellule."\" width=\"".$taille_cellule_eleve."\">" ;
       // Icone fiche eleve
       $aff2 .= "<a href=\"javascript:ouvrefenetre('./fiche_eleve.php?id_eleve=".$el ["id_eleve"]."&code=".$_SESSION ["code"]."',470,570,'yes');\">" ;
       $aff2 .= "<img src=\"../images/fiche.png\" title=\"Acc&egrave;s fiche de ".$el ["nom"]." ".$prenom."\" border=\"0\"></a>" ;
       $nombre_images++ ;
       // Recherche memo notes
       $aff2 .= icone_notes ($el ["id_eleve"], $el ["repere1"], $el ["repere2"], $el ["nom"]." ".$prenom) ;
       // Recherche publipostage
       $aff2 .= icone_publipostage ($el ["id_eleve"], $el ["repere1"], $el ["repere2"], $el ["nom"]." ".$prenom, $dt) ;
       // Prenom nom eleve
       $aff2 .= "&nbsp;<font size=\"".$taille_nom_eleves."\"><b>".$el ["nom"]."</b>&nbsp;<i>".$prenom."</i></font></b>&nbsp;" ;
       $aff2 .= "<input type=\"hidden\" name=\"el_".$i."\" value=\"".$el ["id_eleve"]."\">" ;
       $aff2 .= "<input type=\"hidden\" name=\"r1_".$i."\" value=\"".$el ["repere1"]."\">" ;
       $aff2 .= "<input type=\"hidden\" name=\"r2_".$i."\" value=\"".$el ["repere2"]."\">" ;
       $aff2 .= "<input type=\"hidden\" name=\"r3_".$i."\" value=\"".$el ["repere3"]."\">" ;
       $aff2 .= "<input type=\"hidden\" name=\"n_".$i."_0\" value=\"".$heures [0]."\">" ;
       $aff2 .= "</td>" ;
       $nombre_elements += 4 ;
       
       // Recherche des saisies deja effectuees
       $requete  = "SELECT a.id_abs_saisie,a.type,a.commentaires,a.arrivee,a.regularisation,h.id_abs_horaire FROM abs_saisies a,abs_horaires h " ;
       $requete .= "WHERE a.date='".$dt."' AND a.tranche=h.id_abs_horaire AND a.eleve='".$el ["id_eleve"]."' " ;
       If ($coupe_releve == 1)
        {
         If (IsSet ($suite) And ($suite == 1)) { $requete .= "AND h.fin>'".$heure_decalage."' " ; }
         Else { $requete .= "AND h.fin<='".$heure_decalage."' " ; }
        }
       $requete .= "ORDER BY h.debut" ;
       $saisies = SQL_commande ($requete, $id_sql) ;
       $nbr_saisie = SQL_nbr_lignes ($saisies) ;
       If ($nbr_saisie > 0) { $saisie = SQL_ligne_suivante ($saisies) ; }
       
       $j = 1 ;
       // Parcours les heures
       While ($j <= $heures [0])
        {
	 // Determine la saisie
	 $image = "../images/absences/".$image_a_l_heure ;
	 $id_saisie = 0 ;
	 $type_saisie = 0 ;
	 If ($nbr_saisie > 0)
	  {
	   If ($heures [$saisie [5]] == $j)
	    {
	     $id_saisie = $saisie [0] ;
	     $type_saisie = $saisie [1] ;
	     $k = 1 ;
	     $ok = 0 ;
	     While (($k <= $s [0][0]) And ($ok == 0))
              {
               If ($saisie [1] == $s [$k][0]) { $image = $s [$k][6+2*($el ["sexe"] != "F")] ; $ok = 1 ; }
	       $k++ ;
	      }
	     $saisie = SQL_ligne_suivante ($saisies) ;
	    }
	  }
         $aff2 .= "<td align=\"center\" valign=\"middle\" width=\"".$largeur_cellule."\" height=\"".$hauteur_cellule."\">" ;
	 $aff2 .= "<a href=\"javascript:change(".$i.",".$j."," ; If ($el ["sexe"] == "F") { $aff2 .= "1" ; } Else { $aff2 .= "0" ; }
	 $aff2 .= ")\" title=\"".$el ["nom"]." ".$prenom." de ".Str_Replace (":", "H", $heures_debut [$j])." a ".Str_Replace (":", "H", $heures_fin [$j])."\" style=\"display:block\">" ;
         $aff2 .= "<img border=\"0\" id=\"img_".$i."_".$j."\" src=\"".$image."\" width=\"".$largeur_cellule."\" height=\"".$hauteur_cellule."\"></a>" ;
         $nombre_images++ ;
	 // Id saisie
         $aff2 .= "<input type=\"hidden\" name=\"id_".$i."_".$j."\" value=\"".$id_saisie."\">" ;
         // Type de presence (=0 PRESENT ; !=0 ABSENT OU RETARD)
         $aff2 .= "<input type=\"hidden\" name=\"v_".$i."_".$j."\" id=\"v_".$i."_".$j."\" value=\"".$type_saisie."\">" ;
         // id de la tranche horaire
         $aff2 .= "<input type=\"hidden\" name=\"t_".$i."_".$j."\" value=\"".$tranche_horaire [$j][0]."\">" ;
	 // Accuse de reception releve
         $aff2 .= "<input type=\"hidden\" name=\"ar_".$i."_".$j."_0\" value=\"".$tranche_horaire [$j][7]."\">" ;
	 $aff2 .= "<input type=\"hidden\" name=\"ar_".$i."_".$j."_old\" value=\"".$tranche_horaire [$j][7]."\">" ;
         $aff2 .= "</td>" ;
         $nombre_elements += 4 ;
	 
	 $j++ ;
	}
       // --- Derniere cellule contenant le nom de l'eleve (pour rappel)
       $aff2 .= "<td>&nbsp;<font size=\"".$taille_nom_eleves."\"><b>".$el ["nom"]."</b>&nbsp;<i>".$prenom."</i></font></b>&nbsp;</td>" ;
       $aff2 .= "</tr>" ;
      }
     $aff2 .= "</table>" ;
     
     // Lignes du bas : Releves+Horaires+"Eleves"
     $aff3  = "<table border=\"1\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border:1px solid #000000;border-collapse:collapse\">" ;
     $aff3 .= "<tr bgcolor=\"".$l ["lien"]."\">" ;
     $aff3 .= "<td valign=\"top\" width=\"".$taille_cellule_eleve."\">&nbsp;&Eacute;l&egrave;ves&nbsp;" ;
     If ($coupe_releve == 1)
      {
       $aff3 .= "<input type=\"hidden\" name=\"suite\" value=\"".$suite."\">" ;
       If ($st == 1)
        {
         $aff3 .= "<input type=\"image\" src=\"../images/absences/jour_3.png\" name=\"image_suite_3\" title=\"Saisie de l'apr&egrave;-midi...\">" ;
         $aff3 .= "<input type=\"hidden\" name=\"requete_form\" value=\"SuItE3\">" ;
        }
       Else
        {
         $aff3 .= "<input type=\"image\" src=\"../images/absences/jour_1.png\" name=\"image_suite_1\" title=\"Saisie du matin...\">" ;
         $aff3 .= "<input type=\"hidden\" name=\"requete_form\" value=\"SuItE1\">" ;
        }
       $aff3 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=0&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\"><img src=\"../images/absences/jour_4.png\" title=\"Saisie &agrave; la journ&eacute;e...\" border=\"0\"></a>" ;
       $nombre_images++ ;
       $nombre_elements++ ;
      }
     Else
      {
       $aff3 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=2&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\"><img src=\"../images/absences/jour_5.png\" title=\"D&eacute;coupe la saisie en Matin/Midi/Apr&egrave;-midi...\" border=\"0\"></a>" ;
       $aff3 .= "<a href=\"".$_SERVER ["PHP_SELF"]."?coupe_releve=1&menu=".$menu."&id_classe=".$id_classe."&dt=".$dt."&choix_date=2\"><img src=\"../images/absences/jour_6.png\" title=\"D&eacute;coupe la saisie en Matin/Apr&egrave;-midi...\" border=\"0\"></a>" ;
       $nombre_images++ ;
      }
     $nombre_images++ ;
     $aff3 .= "</td>".$hs."<td></td>" ;
     $aff3 .= "</table>" ;

     // Script de changement automatique des releves
     $page  = "<script type=\"text/javascript\">" ;
     $page .= "top.travail.travail_menu.document.id_classe.id_classe.value=0;" ;
     $page .= "var nombre_eleves=".$nbr_eleves.";" ;
     $page .= "var image_rel_ok='".$gestion ["releve_ok"]."';" ;
     $page .= "var image_rel_non_ok='".$gestion ["releve_non_ok"]."';" ;
     $page .= "var num_max=".$heures [0].";" ;
     // numero : Numero du releve
     // clique_direct : Clique directement (1) ou pas (0)
     $page .= "function change_releve(numero,clique_direct)" ;
     $page .= "{" ;
     $page .= "var rel_ok=0;" ;
     $page .= "for(rel=0;rel<nombre_eleves;rel++){" ;
     $page .= "if(document.getElementById('v_'+rel+'_'+numero).value!=0){rel_ok=1;}" ;
     $page .= "}" ;
     $page .= "clique=document.getElementById('r_'+numero+'_c');" ;
     $page .= "rel_val=document.getElementById('r_'+numero+'_0');" ;
     $page .= "rel_img=document.getElementById('r_'+numero+'_1');" ;
     $page .= "if(clique_direct==1){if(clique.value==1){clique.value=0;}else{clique.value=1;rel_img.src=image_rel_ok;rel_val.value=1;}}" ;
     $page .= "if(rel_ok==1)" ;
     $page .=  "{" ;
     $page .=   "rel_img.src=image_rel_ok;" ;
     $page .=   "rel_val.value=1;" ;
     $page .=  "}" ;
     $page .= "else" ;
     $page .=  "{" ;
     $page .=    "if(clique.value==0)" ;
     $page .=     "{" ;
     $page .=      "rel_img.src=image_rel_non_ok;" ;
     $page .=      "rel_val.value=0;" ;
     $page .=     "}" ;
     $page .=  "}" ;
     $page .= "}" ;
     // num_el : Numero de l'eleve
     // num_img : Numero de la premiere image
     // mode : 1 : Feminin
     //        0 : Masculin
     $page .= "function change(num_el,num_img,mode){" ;
     $page .= "nombre=parseInt(document.boutons.bouton_nombre.value,10);" ;
     $page .= "if(num_img+nombre>num_max){nombre=num_max-num_img+1;}" ;
     $page .= "document.getElementById(\"message\").innerHTML='<div align=\"center\" id=\"message\"><font color=\"#ff0000\"><blink>Saisie non sauvegard&eacute;e !</blink></font></div>';" ;
     $page .= "for(i=num_img;i<num_img+nombre;i++)" ;
     $page .=  "{" ;
     $page .=   "valeur=document.getElementById('v_'+num_el+'_'+i);" ;
     $page .=   "image=document.getElementById('img_'+num_el+'_'+i);" ;
     $page .=   "if(mode==1)" ;
     $page .=    "{" ;
     $page .=     "if(document.boutons.bouton.value>0)" ;
     $page .=      "{" ;
     $page .=       "if(valeur.value==document.boutons.bouton.value)" ;
     $page .=        "{" ;
     $page .=         "valeur.value=0;" ;
     $page .=         "image.src='../images/absences/".$image_a_l_heure."';" ;
     $page .=        "}" ;
     $page .=       "else" ;
     $page .=        "{" ;
     $page .=         "valeur.value=document.boutons.bouton.value;" ;
     $page .=         "image.src=document.boutons.bouton_im1.value;" ;
     $page .=        "}" ;
     $page .=      "}" ;
     $page .=     "else" ;
     $page .=      "{" ;
     For ($i = 1 ; $i < $sas [0][0] ; $i++)
      {
       $page .= "if(valeur.value==".$sas [$i][0].")" ;
       $page .=   "{" ;
       $page .=    "valeur.value=".$sas [($i+1)][0].";" ;
       $page .=    "image.src='".$sas [($i+1)][1]."';" ;
       $page .=   "}" ;
       $page .=  "else " ;
      }
     $page .=       "if(valeur.value==".$sas [$i][0].")" ;
     $page .=        "{" ;
     $page .=         "valeur.value=0;" ;
     $page .=         "image.src='../images/absences/".$image_a_l_heure."';" ;
     $page .=        "}" ;
     $page .=       "else" ;
     $page .=        "{" ;
     $page .=         "valeur.value=".$sas [1][0].";" ;
     $page .=         "image.src='".$sas [1][1]."';" ;
     $page .=        "}" ;
     $page .=      "}" ;
     $page .=    "}" ;
     $page .=   "else" ;
     $page .=    "{" ;
     $page .=     "if(document.boutons.bouton.value>0)" ;
     $page .=      "{" ;
     $page .=       "if(valeur.value==document.boutons.bouton.value)" ;
     $page .=        "{" ;
     $page .=         "valeur.value=0;" ;
     $page .=         "image.src='../images/absences/".$image_a_l_heure."';" ;
     $page .=        "}" ;
     $page .=       "else" ;
     $page .=        "{" ;
     $page .=         "valeur.value=document.boutons.bouton.value;" ;
     $page .=         "image.src=document.boutons.bouton_im3.value;" ;
     $page .=        "}" ;
     $page .=      "}" ;
     $page .=     "else" ;
     $page .=      "{" ;
     For ($i = 1 ; $i < $sas [0][0] ; $i++)
      {
       $page .= "if(valeur.value==".$sas [$i][0].")" ;
       $page .=  "{" ;
       $page .=   "image.src='".$sas [($i+1)][3]."';" ;
       $page .=   "valeur.value=".$sas [($i+1)][0].";" ;
       $page .=  "}" ;
       $page .= "else " ;
      }
     $page .=       "if(valeur.value==".$sas [$i][0].")" ;
     $page .=        "{" ;
     $page .=         "image.src='../images/absences/".$image_a_l_heure."';" ;
     $page .=         "valeur.value=0;" ;
     $page .=        "}" ;
     $page .=       "else" ;
     $page .=        "{" ;
     $page .=         "image.src='".$sas [1][3]."';" ;
     $page .=         "valeur.value=".$sas [1][0].";" ;
     $page .=        "}" ;
     $page .=      "}" ;
     $page .=    "}" ;
     $page .=   "change_releve(i,0);" ;
     $page .=  "}" ;
     $page .= "}" ;
     // Activation des boutons de racourci
     $page .= "function activation_bouton(b,v1,v2,w1,w2,w3,w4)" ;
     $page .= "{" ;
     $page .= "document.boutons.b0.src='../images/absences/pas_rotation.gif';" ;
     For ($i = 1 ; $i <= $sas [0][0] ; $i++)
      {
       $page .= "document.boutons.b".$i.".src='".$sas [$i][5]."';" ;
      }
     $page .= "document.boutons.bouton.value=v1;" ;
     $page .= "document.boutons.bouton_im1.value=w1;" ;
     $page .= "document.boutons.bouton_im2.value=w2;" ;
     $page .= "document.boutons.bouton_im3.value=w3;" ;
     $page .= "document.boutons.bouton_im4.value=w4;" ;
     $page .= "b.src=v2;" ;
     $page .= "}" ;
     // Activation des boutons horaires
     $page .= "function choix_heure(bouton,html,valeur)" ;
     $page .= "{" ;
     $page .= "var ab=document.getElementById(ancien_bouton_horaire);" ;
     $page .= "ab.innerHTML=\"<span style=\\\"background-color:".$l ["nom"].";border:1px #000000 solid;padding:0px;margin:0px;\\\"><a href=\\\"javascript:choix_heure('\"+ancien_bouton_horaire+\"','\"+ancien_bouton_html+\"',\"+ancien_bouton_valeur+\")\\\">\"+ancien_bouton_html+\"</a></span>\";" ;
     $page .= "var nb=document.getElementById (bouton);" ;
     $page .= "nb.innerHTML=\"<span style=\\\"background-color:".$l ["lien"].";border:1px #000000 solid;padding:0px;margin:0px;\\\"><a href=\\\"javascript:choix_heure('\"+bouton+\"','\"+html+\"',\"+valeur+\")\\\">\"+html+\"</a></span>\";" ;
     $page .= "document.boutons.bouton_nombre.value=valeur;" ;
     $page .= "ancien_bouton_horaire=bouton;" ;
     $page .= "ancien_bouton_valeur=valeur;" ;
     $page .= "ancien_bouton_html=html;" ;
     $page .= "}" ;
     $page .= "</script>" ;

     $num_form = 0 ;
     // Affichage des renseignements sur le nom et l'effectif classe
     $page .= renseignements_classe ("top.menu_status",$l ["couleur_fond"],$l ["couleur_texte"],$id_classe) ;
     // Structure page
     $page .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">" ;
     // =================================== DIV GENERAL ===================================================
     $page .= "<tr><td valign=\"top\">" ;
     $page .= "<div id=\"controles\">" ;
     $page .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">" ;
     $page .= "<tr>" ;
     
     $page .= "<td valign=\"top\">" ;
     $page .= "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border:1px solid #000000;border-collapse:collapse\" bgcolor=\"".$l ["couleur_fond"]."\">" ;
     $page .= "<tr>".affiche_selecteur_date ($dt)."</tr>" ;
     $page .= "</table>" ;
     $page .= "</td>" ;
     
     $page .= "<td>&nbsp;&nbsp;</td>" ;
     
     $page .= "<td valign=\"top\"><b><font size=\"+1\"><font color=\"#0000ff\"><i>".Str_Replace (" ", "&nbsp;", nom_classe_long_parid ($id_classe)) ;
     $page .= "</i></font>&nbsp;(".Str_Replace (" ", "&nbsp;", nom_classe_bref_parid ($id_classe)).")</b>&nbsp;" ;
     $page .= "pour&nbsp;le&nbsp;<b>".$nom_jour [(integer)Date ("w", MkTime (0,0,0,SubStr ($dt, 5, 2),SubStr ($dt, 8, 2),SubStr ($dt, 0, 4)))] ;
     $page .= "&nbsp;".SubStr ($dt, 8, 2)."&nbsp;".$nom_mois [(integer)SubStr ($dt, 5, 2)]."&nbsp;".SubStr ($dt, 0, 4)."</font></b></td>" ;
     
     $page .= "<td></td></tr>" ;

     // Liste des boutons racourcis
     $duree_sequence = retrouve_champs ("abs_gestion", "duree_sequence", "") ;
     $requete = "SELECT SUM(duree) FROM abs_horaires WHERE " ;
     If ($coupe_releve == 1)
      {
       If (IsSet ($suite) And ($suite == 1)) { $requete .= "debut>='".$heure_decalage."' " ; }
       Else { $requete .= "debut<'".$heure_decalage."' " ; }
      }
     Else { $requete .= "debut<'".$heure_decalage."'" ; }
     $r = SQL_commande ($requete, $id_sql) ;
     $ligne = SQL_ligne_suivante ($r) ;
     $nbr_h = Floor ($ligne [0]/$duree_sequence) ;
     $reste = $ligne [0]-$nbr_h*$duree_sequence ;

     $page .= "<form name=\"boutons\">" ;
     $page .= "<tr><td colspan=\"3\" align=\"center\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>" ;
     $page .= "<input type=\"hidden\" name=\"bouton\" value=\"0\">" ;
     $page .= "<input type=\"hidden\" name=\"bouton_im1\" value=\"\">" ;
     $page .= "<input type=\"hidden\" name=\"bouton_im2\" value=\"\">" ;
     $page .= "<input type=\"hidden\" name=\"bouton_im3\" value=\"\">" ;
     $page .= "<input type=\"hidden\" name=\"bouton_im4\" value=\"\">" ;
     $page .= "<input type=\"hidden\" name=\"bouton_nombre\" value=\"1\">" ;
     $page .= "<img src=\"../images/absences/rotation.gif\" border=\"0\" name=\"b0\" style=\"cursor:crosshair\" onClick=\"javascript:activation_bouton(document.boutons.b0,0,'../images/absences/rotation.gif','','','','')\">" ;
     For ($i = 1 ; $i <= $sas [0][0] ; $i++)
      {
       $page .= "<img src=\"".$sas [$i][5]."\" border=\"0\" name=\"b".$i."\" style=\"cursor:crosshair\" onClick=\"javascript:" ;
       $page .= "activation_bouton(document.boutons.b".$i.",".$sas [$i][0].",'".$sas [$i][6]."','".$sas [$i][1]."','".$sas [$i][2]."','".$sas [$i][3]."','".$sas [$i][4]."')\">" ;
      }
     $page .= "</td><td>&nbsp;</td>" ;
     For ($i = 1 ; $i <= $nbr_h ; $i++)
      {
       $heure = Floor (($duree_sequence*$i)/60) ;
       $minute = $duree_sequence*$i-$heure*60 ; If ($minute < 10) { $minute = "0".$minute ; }
       $page .= "<td valign=\"middle\" id=\"heure_".$i."\" style=\"\">" ;
       $page .= "<span style=\"background-color:" ; If ($i == 1) { $page .= $l ["lien"] ; $valeur = "&nbsp;".$heure."H".$minute."&nbsp;" ; } Else { $page .= $l ["nom"] ; }
       $page .= ";border:1px #000000 solid;padding:0px;margin:0px;\"><a href=\"javascript:choix_heure('heure_".$i."','&nbsp;".$heure."H".$minute."&nbsp;',".$i.")\">" ;
       $page .= "&nbsp;".$heure."H".$minute."&nbsp;</a></span></td><td>&nbsp;</td>" ;
      }
     $page .= "<script type=\"text/javascript\">var ancien_bouton_horaire='heure_1';var ancien_bouton_valeur='1';var ancien_bouton_html='".$valeur."';</script>" ;
     $page .= "</form>" ;
     $num_form++ ;
     $page .= "<script type=\"text/javascript\">var num_form=".$num_form.";</script>" ;
     $page .= "</tr></table></td></tr></table>" ;
     
     If ($message == 1) { $page .= "<div align=\"center\" id=\"message\"><font color=\"#ff0000\">Saisie&nbsp;ENREGISTR&Eacute;E&nbsp;!</font></div>" ; }
     Else { $page .= "<div align=\"center\" id=\"message\">&nbsp;</div>" ; }
     
     $page .= $aff1."</div>" ;
     $page .= "</td></tr>" ;
     // =================================== DIV GENERAL ===================================================
     
     // =================================== DIV SAISIE ===================================================
     $page .= "<tr><td valign=\"top\" height=\"".($tfen_y-130-30-$hauteur_cellule)."px\"><div id=\"saisie\">".$aff2."</div></td></tr>" ;
     // =================================== DIV SAISIE ===================================================
     
     // =================================== DIV VALIDER ===================================================
     $page .= "<tr><td valign=\"top\" align=\"center\"><div id=\"valider\"><table border=\"0\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse:collapse\">" ;
     $page .= "<tr><td>".$aff3."</td>" ;
     $page .= "<td align=\"center\">&nbsp;<input type=\"image\" src=\"../images/valider.png\" name=\"bouton_valider\" value=\"VaLiDeR\">&nbsp;</td></tr></table>" ;
     $page .= "<input type=\"hidden\" name=\"requete_form\" value=\"VaLiDeR\">" ;
     $page .= "</form></div></td></tr>" ;
     // =================================== DIV VALIDER ===================================================
     
     //$page .= "<script type=\"text/javascript\">change_auto();</script>" ;
    }
   Else
    {
     // Jour non ouvrable
     $page  = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td valign=\"top\">" ;
     $page .= "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border:1px solid #000000;border-collapse:collapse\" bgcolor=\"".$l ["couleur_fond"]."\">" ;
     $page .= "<tr>".affiche_selecteur_date ($dt)."</tr></table></td>" ;
     $page .= "<td>&nbsp;&nbsp;</td>" ;
     $page .= "<td><b>Saisie&nbsp;:&nbsp;<font color=\"#0000ff\"><i>".Str_Replace (" ", "&nbsp;", nom_classe_long_parid ($id_classe)) ;
     $page .= "</i></font>&nbsp;(".Str_Replace (" ", "&nbsp;", nom_classe_bref_parid ($id_classe)).")</b>&nbsp;" ;
     $page .= "pour&nbsp;le&nbsp;<b>".$nom_jour [(integer)Date ("w", MkTime (0,0,0,SubStr ($dt, 5, 2),SubStr ($dt, 8, 2),SubStr ($dt, 0, 4)))] ;
     $page .= "&nbsp;".SubStr ($dt, 8, 2)."&nbsp;".$nom_mois [(integer)SubStr ($dt, 5, 2)]."&nbsp;".SubStr ($dt, 0, 4)."</b></td>" ;
     $page .= "<td></td></tr></table>" ;
     $page .= "<br><br><center><b><i>Jour&nbsp;non&nbsp;ouvrable</i></b>&nbsp;:&nbsp;Pas&nbsp;de&nbsp;saisie&nbsp;possible&nbsp;!</center>" ;
    }
  }
 Else
  {
   // Pas d'eleves dans cette classe
   $page = "<center><b>Saisie&nbsp;:&nbsp;<font color=\"#0000ff\"><i>".Str_Replace (" ", "&nbsp;", nom_classe_long_parid ($id_classe)) ;
   $page .= "</i></font>&nbsp;(".Str_Replace (" ", "&nbsp;", nom_classe_bref_parid ($id_classe)).")</b>&nbsp;" ;
   $page .= "pour&nbsp;le&nbsp;<B>".$nom_jour [(integer)Date ("w", MkTime (0,0,0,SubStr ($dt, 5, 2),SubStr ($dt, 8, 2),SubStr ($dt, 0, 4)))] ;
   $page .= "&nbsp;".SubStr ($dt, 8, 2)."&nbsp;".$nom_mois [(integer)SubStr ($dt, 5, 2)]."&nbsp;".SubStr ($dt, 0, 4)."</b><br><br>" ;
   $page .= "<b><i>Il&nbsp;n&nbsp;y&nbsp;a&nbsp;aucun&nbsp;&eacute;l&egrave;ves&nbsp;dans&nbsp;cette&nbsp;classe</i></b>!" ;
  }
 $page .= "</body></html>" ;
 Echo $page ;
?>